{$CLEO .cs}

0000: NOP


0ACD: show_text_highpriority "Thread loaded" time 3000


const
Crood_x = 0@
Crood_y = 1@
Crood_z = 2@
Target_x = 3@
Target_y = 4@
Target_z = 5@
COP_CAR_RANDOM = 6@
VICTIM_CAR_RANDOM = 7@
COP_MAN1 = 8@
COP_MAN2 = 9@
COP_MAN3 = 10@
COP_MAN4 = 11@
cop_player1 = 12@
cop_player2 = 13@
cop_player3 = 14@
cop_player4 = 15@
PLAYER_COP_CAR = 16@
PLAYER_CAR = 17@
marker = 18@
player_get = 19@
PLAYER1OR2 = 20@
ghost_Car = 21@
ACTOR_RANDOM = 22@
end

WAIT 2500

REPEAT
WAIT 0 

actor.StorePos($PLAYER_ACTOR,Crood_x, Crood_y ,Crood_z)
0AE2: COP_CAR_RANDOM = random_vehicle_near_point Crood_x Crood_y Crood_z in_radius 80.0 find_next 1 pass_wrecked 1
 0AE2: VICTIM_CAR_RANDOM = random_vehicle_near_point Crood_x Crood_y Crood_z in_radius 80.0 find_next 1 pass_wrecked 1

if   and  
056E:   car COP_CAR_RANDOM defined
 056E:   car VICTIM_CAR_RANDOM defined
then
    if     //and
    { or
            0137:   car COP_CAR_RANDOM model == #LC_COPCARLC
            0137:   car COP_CAR_RANDOM model == #VC_FBIRANCH
            0137:   car COP_CAR_RANDOM model == #VC_COPCARVC
            0137:   car COP_CAR_RANDOM model == #LCS_FBICAR
            0137:   car COP_CAR_RANDOM model == #LC_PATRIOT
            0137:   car COP_CAR_RANDOM model == #LC_ENFORCER
            0137:   car COP_CAR_RANDOM model == #VC_ENFORCER
            0137:   car COP_CAR_RANDOM model == #VCS_PATRIOT
            }
  //   0975:   car COP_CAR_RANDOM emergency_vehicle
 //    8975:  not  car VICTIM_CAR_RANDOM emergency_vehicle
           player.Defined($PLAYER_CHAR)   
    then    
       if
       player.Defined($PLAYER_CHAR)
       then

        //     051D:   car COP_CAR_RANDOM damaged_by_car VICTIM_CAR_RANDOM

         if  or
         051D:   car COP_CAR_RANDOM damaged_by_car VICTIM_CAR_RANDOM
         051D:   car VICTIM_CAR_RANDOM damaged_by_car COP_CAR_RANDOM
            09CB:   vehicle COP_CAR_RANDOM colliding_with_vehicle VICTIM_CAR_RANDOM
            09CB:   vehicle VICTIM_CAR_RANDOM colliding_with_vehicle COP_CAR_RANDOM
          051D:   car COP_CAR_RANDOM damaged_by_car COP_CAR_RANDOM

         then
       car.StorePos(VICTIM_CAR_RANDOM,Target_x , Target_y , Target_z ) 
        054F: clear_car COP_CAR_RANDOM damage
        054F: clear_car VICTIM_CAR_RANDOM damage
        07F8: car COP_CAR_RANDOM follow_car VICTIM_CAR_RANDOM radius 500.0
                                      00AE: set_car VICTIM_CAR_RANDOM traffic_behaviour_to  2
                                   //    car.SetDriverBehaviour(VICTIM_CAR_RANDOM ,FollowRoad)
                                       car.SetMaxSpeed(VICTIM_CAR_RANDOM, 80.0)
                                       0397: enable_car VICTIM_CAR_RANDOM siren 1
                                      car.SetToPsychoDriver(VICTIM_CAR_RANDOM) 
                                      car.SetToPsychoDriver(COP_CAR_RANDOM) 
                                              
                                       0397: enable_car COP_CAR_RANDOM siren 1
                                      00AE: set_car COP_CAR_RANDOM traffic_behaviour_to  2
                             //       car.SetDriverBehaviour(COP_CAR_RANDOM ,19)
                              //           car.DriveTo(COP_CAR_RANDOM ,  Target_x, Target_y , Target_z )
                                       car.SetMaxSpeed(COP_CAR_RANDOM, 80.0)
                                 //     car.RemoveReferences(COP_CAR_RANDOM) 
        //    0AE1: DRIVERMAN = random_actor_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 pass_deads 1
    
                                  {
            046C: DRIVERMAN = car COP_CAR_RANDOM driver
             046C: COP_MAN1 = car COP_CAR_RANDOM driver
                0432: COP_MAN2 = get_actor_handle_from_car COP_CAR_RANDOM passenger_seat 0
                0432: COP_MAN3 = get_actor_handle_from_car COP_CAR_RANDOM passenger_seat 1
                0432: COP_MAN4 = get_actor_handle_from_car COP_CAR_RANDOM passenger_seat 2   }
                0AE1: COP_MAN1 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1
                0AE1: COP_MAN2 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1
                0AE1: COP_MAN3 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1
                0AE1: COP_MAN4 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1

                if  and
                056D:   actor COP_MAN1 defined
               056E:   car VICTIM_CAR_RANDOM defined
                //803B: not COP_MAN1 == $PLAYER_ACTOR // (int)
                //803B: not COP_MAN1 == $SECOND_PLAYER_ACTOR // (int)
                then
       //        actor.RemoveReferences(COP_MAN1)

                   0713: actor COP_MAN1 driveby_actor -1 car VICTIM_CAR_RANDOM point 0.0 0.0 0.0 radius 600.0 4 0 firing_rate 90
                     if  and
                    056D:   actor COP_MAN2 defined
                   056E:   car VICTIM_CAR_RANDOM defined
                    //803B: not COP_MAN1 == $PLAYER_ACTOR // (int)
                    //803B: not COP_MAN1 == $SECOND_PLAYER_ACTOR // (int)
                    then
                       0713: actor COP_MAN2 driveby_actor  -1 car VICTIM_CAR_RANDOM point 0.0 0.0 0.0 radius 600.0 4 0 firing_rate 90
           //                        actor.RemoveReferences(COP_MAN2)
     
                    
                        if  and
                        056D:   actor COP_MAN3 defined
                         056E:   car VICTIM_CAR_RANDOM defined
                        //803B: not COP_MAN1 == $PLAYER_ACTOR // (int)
                        //803B: not COP_MAN1 == $SECOND_PLAYER_ACTOR // (int)
                        then
                           0713: actor COP_MAN3 driveby_actor  -1 car VICTIM_CAR_RANDOM point 0.0 0.0 0.0 radius 600.0 4 1 firing_rate 90
                //                   actor.RemoveReferences(COP_MAN3)
         
                        
                                if  and
                                056D:   actor COP_MAN4 defined
                                 056E:   car VICTIM_CAR_RANDOM defined
                                //803B: not COP_MAN1 == $PLAYER_ACTOR // (int)
                                //803B: not COP_MAN1 == $SECOND_PLAYER_ACTOR // (int)
                                then
                                   0713: actor COP_MAN4 driveby_actor -1 car VICTIM_CAR_RANDOM point 0.0 0.0 0.0 radius 600.0 4 1 firing_rate 90
                //                   actor.RemoveReferences(COP_MAN4)
                                end
                       end
                    end
                 end

              end
        
        end
     end
 end 
   
 

0AE2: PLAYER_CAR = random_vehicle_near_point Crood_x Crood_y Crood_z in_radius 30.0 find_next 1 pass_wrecked 1
0AE2: PLAYER_COP_CAR = random_vehicle_near_point Crood_x Crood_y Crood_z in_radius 30.0 find_next 1 pass_wrecked 1

//player
if   and  
056E:   car PLAYER_CAR defined
 056E:   car PLAYER_COP_CAR defined
then
    if     and 
    actor.Driving($PLAYER_ACTOR)
    actor.InCar($PLAYER_ACTOR,PLAYER_CAR )
    then    
       if
         056D:   actor player_get defined
       then
          if  or
         051D:   car PLAYER_COP_CAR damaged_by_car PLAYER_CAR
         051D:   car PLAYER_CAR damaged_by_car PLAYER_COP_CAR
            09CB:   vehicle PLAYER_CAR colliding_with_vehicle PLAYER_COP_CAR
            09CB:   vehicle PLAYER_COP_CAR colliding_with_vehicle PLAYER_CAR
         051C:   car PLAYER_COP_CAR damaged_by_actor player_get
        0547:   actor player_get colliding_with_car PLAYER_COP_CAR
         051C:   car PLAYER_CAR damaged_by_actor player_get
        0547:   actor player_get colliding_with_car PLAYER_CAR

         then
        car.StorePos(PLAYER_CAR,Target_x , Target_y , Target_z ) 
        054F: clear_car PLAYER_COP_CAR damage
        054F: clear_car PLAYER_CAR damage
 
             if
             not Actor.InCar($PLAYER_ACTOR, PLAYER_COP_CAR)
             then
           {    if
               056D:   actor $SECOND_PLAYER_ACTOR defined
               then  
                        if
                    
                       not Actor.InCar($SECOND_PLAYER_ACTOR, PLAYER_COP_CAR)
                        then  }
                            marker.CreateAboveCar(marker , PLAYER_COP_CAR)        
                            018B: set_marker marker radar_mode 2

                                       0397: enable_car PLAYER_COP_CAR siren 1
                                      00AE: set_car PLAYER_COP_CAR traffic_behaviour_to  2
                                      car.DriveTo(player_cop_car ,Crood_x ,Crood_y ,Crood_z  )
                                      car.SetToPsychoDriver(PLAYER_COP_CAR, true)
                               car.SetDriverBehaviour(PLAYER_COP_CAR ,KillThePlayer)
                                        car.SetMaxSpeed(PLAYER_COP_CAR, 90.0)
                               car.DoorStatus(PLAYER_COP_CAR,2)
                               088B: set_car PLAYER_COP_CAR form_drag_multiplier_to 0.2
                               0423: set_car PLAYER_COP_CAR improved_handling_to 2.3 // (float)
                        0919: enable_car PLAYER_COP_CAR parking_lights 1

                 0AE1: cop_player1 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1
                0AE1: cop_player2 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1
                0AE1: cop_player3 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1
                0AE1: cop_player4 = random_actor_near_point Target_x Target_y Target_z in_radius 10.0 find_next 1 pass_deads 1

                if   
                056D:   actor cop_player1 defined
                 then
 
                   0713: actor cop_player1 driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 600.0 4 0 firing_rate 90
                     if   
                    056D:   actor cop_player2  defined
                    then
                       0713: actor cop_player2 driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 600.0 4 0 firing_rate 90
      
                    
                        if   
                        056D:   actor cop_player3 defined
 
                        then
                           0713: actor cop_player3 driveby_actor $PLAYER_ACTOR  car -1 point 0.0 0.0 0.0 radius 600.0 4 1 firing_rate 90
                        
                                if   
                                056D:   actor cop_player4 defined
 
                                then
                                   0713: actor cop_player4 driveby_actor $PLAYER_ACTOR  car -1 point 0.0 0.0 0.0 radius 600.0 4 1 firing_rate 90
                                end
                         end
                    end
                 end

              end
            end
        end
     end
 end  

 0AE2: ghost_Car = random_vehicle_near_point Crood_x Crood_y Crood_z in_radius 80.0 find_next 1 pass_wrecked 1
0AE1: ACTOR_RANDOM = random_actor_near_point  Crood_x Crood_y Crood_z in_radius 80.0 find_next 1 pass_deads 1

//player
if   
 056E:   car ghost_Car defined
then
 
       if
         056D:   actor ACTOR_RANDOM defined
       then
          if   
         051C:   car ghost_Car damaged_by_actor ACTOR_RANDOM
 
         then
        car.StorePos(ghost_Car,Target_x , Target_y , Target_z ) 
        054F: clear_car ghost_Car damage
 
 
             if     and
             0431:   car ghost_Car passenger_seat_free 0
             0431:   car ghost_Car passenger_seat_free 1
             0431:   car ghost_Car passenger_seat_free 2
              8ABE: not  vehicle ghost_Car engine_on

             then
     
                            marker.CreateAboveCar(marker , ghost_Car)        
                            018B: set_marker marker radar_mode 2

                                       0397: enable_car ghost_Car siren 1
                                      00AE: set_car ghost_Car traffic_behaviour_to  2
                                      car.DriveTo(ghost_Car ,Crood_x ,Crood_y ,Crood_z  )
                                      car.SetToPsychoDriver(ghost_Car, true)
                                        car.SetDriverBehaviour(ghost_Car ,KillThePlayer)
                                        car.SetMaxSpeed(ghost_Car, 90.0)
                               car.DoorStatus(ghost_Car,2)
                               088B: set_car ghost_Car form_drag_multiplier_to 0.2
                               0423: set_car ghost_Car improved_handling_to 2.3 // (float)
                        0919: enable_car ghost_Car parking_lights 1
 
              end
            end
        end
      
 end   
0209: PLAYER1OR2 = random_int_in_ranges 0 1
IF
PLAYER1OR2 == 0 
THEN
player_get = ACTOR.EmulateFromPlayer($PLAYER_CHAR)
END
IF AND 
056D:   actor $SECOND_PLAYER_ACTOR defined
PLAYER1OR2 == 1
THEN
player_get = ACTOR.EmulateFromPlayer($SECOND_PLAYER)

END
 
 UNTIL $ONMISSION == 0 
 
 end_Thread